package com.mnyc.research.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.mnyc.system.domain.SysFileInfo;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.mnyc.common.annotation.Excel;
import com.mnyc.common.core.domain.BaseEntity;

/**
 * 校本教研活动对象 jy_school_research_activity
 *
 * @author wdy
 * @date 2025-08-08
 */
public class JySchoolResearchActivity extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private Long id;

    /**
     * 教研组Id
     */
    @Excel(name = "教研组Id")
    private String groupId;

    /**
     * 教研组名称
     */
    @Excel(name = "教研组名称")
    private String groupName;

    /**
     * 活动主题
     */
    @Excel(name = "活动主题")
    private String subject;

    /**
     * 活动时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "活动时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date activityTime;

    /**
     * 活动地点
     */
    @Excel(name = "活动地点")
    private String activityAddress;

    /**
     * 主备人
     */
    @Excel(name = "主备人")
    private Long mainId;

    /**
     * 主备人
     */
    @Excel(name = "主备人")
    private String mainName;

    /**
     * 记录人
     */
    @Excel(name = "记录人")
    private Long recordId;

    /**
     * 记录人
     */
    @Excel(name = "记录人")
    private String recordName;

    /**
     * 参会领导
     */
    @Excel(name = "参会领导")
    private String leaderName;

    /**
     * 实到人员
     */
    @Excel(name = "实到人员")
    private String teacherName;

    /**
     * 缺勤人员
     */
    @Excel(name = "缺勤人员")
    private String absenceName;

    /**
     * 请假人员
     */
    @Excel(name = "请假人员")
    private String leaveName;

    /**
     * 迟到人员
     */
    @Excel(name = "迟到人员")
    private String lateName;

    /**
     * 应到人数
     */
    @Excel(name = "应到人数")
    private Long dueAmount;

    /**
     * 实到人数
     */
    @Excel(name = "实到人数")
    private Long actAmount;

    /**
     * 审核状态
     */
    @Excel(name = "审核状态")
    private String auditState;

    /**
     * 审核意见
     */
    @Excel(name = "审核意见")
    private String auditMsg;

    /**
     * 部门Id
     */
    @Excel(name = "部门Id")
    private Long deptId;

    List<JyActivityTeacherRela> teacherUserList;
    List<JyActivityTeacherRela> absenceUserList;
    List<JyActivityTeacherRela> leaveUserList;
    List<JyActivityTeacherRela> lateUserList;
    List<JyActivityTeacherRela> leaderUserList;
    List<SysFileInfo> contentFileList;
    List<SysFileInfo> imgFileList;

    /**
     *
     */
    private String delFlag;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setGroupId(String groupId) {
        this.groupId = groupId;
    }

    public String getGroupId() {
        return groupId;
    }

    public void setGroupName(String groupName) {
        this.groupName = groupName;
    }

    public String getGroupName() {
        return groupName;
    }

    public void setSubject(String subject) {
        this.subject = subject;
    }

    public String getSubject() {
        return subject;
    }

    public void setActivityTime(Date activityTime) {
        this.activityTime = activityTime;
    }

    public Date getActivityTime() {
        return activityTime;
    }

    public void setActivityAddress(String activityAddress) {
        this.activityAddress = activityAddress;
    }

    public String getActivityAddress() {
        return activityAddress;
    }

    public void setMainId(Long mainId) {
        this.mainId = mainId;
    }

    public Long getMainId() {
        return mainId;
    }

    public void setMainName(String mainName) {
        this.mainName = mainName;
    }

    public String getMainName() {
        return mainName;
    }

    public void setRecordId(Long recordId) {
        this.recordId = recordId;
    }

    public Long getRecordId() {
        return recordId;
    }

    public void setRecordName(String recordName) {
        this.recordName = recordName;
    }

    public String getRecordName() {
        return recordName;
    }

    public void setLeaderName(String leaderName) {
        this.leaderName = leaderName;
    }

    public String getLeaderName() {
        return leaderName;
    }

    public void setTeacherName(String teacherName) {
        this.teacherName = teacherName;
    }

    public String getTeacherName() {
        return teacherName;
    }

    public void setAbsenceName(String absenceName) {
        this.absenceName = absenceName;
    }

    public String getAbsenceName() {
        return absenceName;
    }

    public void setLeaveName(String leaveName) {
        this.leaveName = leaveName;
    }

    public String getLeaveName() {
        return leaveName;
    }

    public void setLateName(String lateName) {
        this.lateName = lateName;
    }

    public String getLateName() {
        return lateName;
    }

    public void setDueAmount(Long dueAmount) {
        this.dueAmount = dueAmount;
    }

    public Long getDueAmount() {
        return dueAmount;
    }

    public void setActAmount(Long actAmount) {
        this.actAmount = actAmount;
    }

    public Long getActAmount() {
        return actAmount;
    }

    public void setAuditState(String auditState) {
        this.auditState = auditState;
    }

    public String getAuditState() {
        return auditState;
    }

    public String getAuditMsg() {
        return auditMsg;
    }

    public void setAuditMsg(String auditMsg) {
        this.auditMsg = auditMsg;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public List<JyActivityTeacherRela> getTeacherUserList() {
        return teacherUserList;
    }

    public void setTeacherUserList(List<JyActivityTeacherRela> teacherUserList) {
        this.teacherUserList = teacherUserList;
    }

    public List<JyActivityTeacherRela> getAbsenceUserList() {
        return absenceUserList;
    }

    public void setAbsenceUserList(List<JyActivityTeacherRela> absenceUserList) {
        this.absenceUserList = absenceUserList;
    }

    public List<JyActivityTeacherRela> getLeaveUserList() {
        return leaveUserList;
    }

    public void setLeaveUserList(List<JyActivityTeacherRela> leaveUserList) {
        this.leaveUserList = leaveUserList;
    }

    public List<JyActivityTeacherRela> getLateUserList() {
        return lateUserList;
    }

    public void setLateUserList(List<JyActivityTeacherRela> lateUserList) {
        this.lateUserList = lateUserList;
    }

    public List<JyActivityTeacherRela> getLeaderUserList() {
        return leaderUserList;
    }

    public void setLeaderUserList(List<JyActivityTeacherRela> leaderUserList) {
        this.leaderUserList = leaderUserList;
    }

    public List<SysFileInfo> getContentFileList() {
        return contentFileList;
    }

    public void setContentFileList(List<SysFileInfo> contentFileList) {
        this.contentFileList = contentFileList;
    }

    public List<SysFileInfo> getImgFileList() {
        return imgFileList;
    }

    public void setImgFileList(List<SysFileInfo> imgFileList) {
        this.imgFileList = imgFileList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("groupId", getGroupId())
                .append("groupName", getGroupName())
                .append("subject", getSubject())
                .append("activityTime", getActivityTime())
                .append("activityAddress", getActivityAddress())
                .append("mainId", getMainId())
                .append("mainName", getMainName())
                .append("recordId", getRecordId())
                .append("recordName", getRecordName())
                .append("leaderName", getLeaderName())
                .append("teacherName", getTeacherName())
                .append("absenceName", getAbsenceName())
                .append("leaveName", getLeaveName())
                .append("lateName", getLateName())
                .append("dueAmount", getDueAmount())
                .append("actAmount", getActAmount())
                .append("auditState", getAuditState())
                .append("suditMsg", getAuditMsg())
                .append("deptId", getDeptId())
                .append("delFlag", getDelFlag())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
}
